perm filename F.TVR[UP,DOC] blob
sn#266729 filedate 1977-03-01 generic text, type T, neo UTF8
F - A Font Editor
T A B L E O F C O N T E N T S
SECTION PAGE
Section 1 Introduction
1-1 Commands . . . . . . . . . . . . . 1
1-2 Structure . . . . . . . . . . . . 1
1-3 Macros . . . . . . . . . . . . . 2
1-4 Relationship to other programs . . . . . 2
Section 2 Master Font File
2-1 Bitmap Characters . . . . . . . . . . 3
2-2 Outline Characters . . . . . . . . . 3
2-3 Bitmap Character Tables . . . . . . . . 4
2-4 Outline Character Tables . . . . . . . 4
2-5 Macro Tables . . . . . . . . . . . 4
Section 3 General Commands
3-1 CALL <name> . . . . . . . . . . . . 5
3-2 DDT . . . . . . . . . . . . . . 5
3-3 DEFINE <macro name> . . . . . . . . . 5
3-4 ECHO . . . . . . . . . . . . . . 5
3-5 ENDM (End Macro) . . . . . . . . . . 6
3-6 EXIT . . . . . . . . . . . . . . 6
3-7 HELP . . . . . . . . . . . . . . 6
3-8 MACLIST <macro name> . . . . . . . . . 6
3-9 QUIT . . . . . . . . . . . . . . 6
Section 4 Top level Commands
4-1 EDIT <file> . . . . . . . . . . . . 7
Section 5 Second Level Commands
5-1 CTEDIT <name> . . . . . . . . . . . 8
5-2 CTLIST . . . . . . . . . . . . . 8
5-3 CTMAKE <name> . . . . . . . . . . . 8
5-4 FNTMODE <name> <FNT file> . . . . . . . 8
5-5 OTEDIT <name> . . . . . . . . . . . 9
5-6 OTLIST . . . . . . . . . . . . . 9
5-7 OTMAKE <name> . . . . . . . . . . . 9
Section 6 Character Table Editting
6-1 EDIT <Character name> . . . . . . . 10
6-2 LIST . . . . . . . . . . . . . 10
6-3 MAKE <Character name> . . . . . . . 10
Page i
F - A Font Editor
6-4 OK . . . . . . . . . . . . . . 10
6-5 RENAME <old name> <new name> . . . . . 11
Section 7 FNT Mode
7-1 FNTINFO <character> . . . . . . . . 12
7-2 FNTLIST . . . . . . . . . . . . 12
7-3 FNTREAD <character> <character name
for this table> . . . . . . 12
7-4 FNTWRITE <character> <character name
for this table> . . . . . . 12
7-5 READALL . . . . . . . . . . . . 13
Section 8 Bitmap Edit Mode
8-1 Moving commands . . . . . . . . . 15
8-2 ABORT . . . . . . . . . . . . . 16
8-3 CLEAR . . . . . . . . . . . . . 16
8-4 COLUMN/ROW commands . . . . . . . . 16
8-5 MARK . . . . . . . . . . . . . 17
8-6 OK . . . . . . . . . . . . . . 17
8-7 ORIGIN . . . . . . . . . . . . 17
8-8 TERMINUS . . . . . . . . . . . . 17
8-9 WINDOW . . . . . . . . . . . . 18
Section 9 Curve Edit Mode
9-1 BITMAP . . . . . . . . . . . . 20
9-2 MOVE <delta X> <delta Y> . . . . . . 20
9-3 OK . . . . . . . . . . . . . . 20
9-4 PSMOOTH . . . . . . . . . . . . 20
9-5 REVERSE . . . . . . . . . . . . 20
9-6 ROTATE . . . . . . . . . . . . 21
9-7 SCALE <multiplier> . . . . . . . . 21
9-8 SPLIT . . . . . . . . . . . . . 21
9-9 TEST . . . . . . . . . . . . . 21
Appendix A Standard Character Names . . . . . . . . . 22
Appendix B Error Messages. . . . . . . . . . . . . 23
Page ii
F - A Font Editor
Section 1
_______ _
Introduction
____________
F is a font editor which is used to create and edit characters for
the XGP and other output devices. It will handle both characters
represented by bitmaps and those represented by outlines defined with
splines. F operates on what is known here as a master font file,
which contain both the character outlines and several different sizes
of bitmap representation of a particular kind of font. For example,
one master font file might contain all of the different styles of
Baskerville. F uses a caching scheme to keep the size of its core
image down a reasonable size for a timesharing environment. It
updates the master font file as one does editing, so most changes are
preserved against blunders, bugs and system system crashes.
1-1. Commands
________
Commands consist of the command name followed by optional arguments,
all delimited by space or other delimiters, such as TAB or RETURN.
In general, more than more command can be put on a line. At the
moment, command names cannot be abbreviated, but this will change
when macros are implemented. At almost any time, help can be
obtained by typing HELP, '?' or '??'
1-2. Structure
_________
F has a tree-like data structure and this structure is reflected in
the structure of the editor. At any given point, you are a
particular command node which corresponds to where you are in the
data structure. Each command node has a number of commands
associated, whose names may not necessarily be unique. For example,
the command, EDIT, at the top level means something different than
the command 'EDIT' at when you're looking at a bitmap character
table. Almost every command node has a different prompt associated
with it so you can tell quickly at where you are in the
datastructure. In addition, the command '??' will tell you what more
you are in as well as describing what commands are available at that
node.
Page 1
F - A Font Editor Introduction
1-3. Macros
______
Macros are used to abbreviate commands or do repetitive operations.
There are two kinds of macros, those invoked by the CALL command and
those invoked by control (or meta) characters. When F is started up
with a set macros which are predefined. The user may also define
macros to supplement or supercede the predefined macros. (Note:
Macros are not fully implemented yet)
1-4. Relationship to other programs
____________ __ _____ ________
F will eventually supercede several existing font programs and handle
their tasks in a more uniform way. For reference, these are:
EDFONT Bitmap editor which operates on FNT files. Its limitations
is that it is slow due to being written in SAIL and cannot
handle large characters.
TVFONT Vector oriented editor which also has the capability of
making characters from TV pictures. Its limitations are
that it keeps its entire data structure in core, which often
doesn't fit or does not operate well under timesharing.
FONT A program for printing and modifying parameters of a FNT
file such as width and kerning information.
Page 2
F - A Font Editor
Section 2
_______ _
Master Font File
______ ____ ____
A master font file contains all the information about a set of fonts.
It usually includes several styles and several sizes of charaters,
and often contains characters represented as both bitmaps and curved
outlines described by splines.
2-1. Bitmap Characters
______ __________
Bitmap characters are described by a matrix of dots and are used for
output on raster oriented devices such as the XGP or Datadisk. The
most common form of these is an FNT file(1) under the heading of
"FONT FORMAT".]. Bitmaps are represented internally in a somewhat
more compact form in a master font file and FNT file are explicitly
read into or written from the master font file. Bitmaps will
eventually have information associated with them as to how they were
derived, so they can recreated or made at a different size if
desired.
2-2. Outline Characters
_______ __________
Outline characters are described by curves defined by parametric
cubic splines. This is the most general representation within a
master font file and from which most other characters are made. They
are made in one of three different ways. First, they can be made
from a POL file (which is a compart form of a CRE file) generated by
the TVFONT program. Second, they can be read from a LISP
representation for communication with other computers. Third, they
can be created with F itself, using Bezier curves.
_______________________
(1) which is described in Find a Font, SAILON 74, Appendix C and also
____ _ ____
on the disk file FC[XGP,SYS
Page 3
F - A Font Editor Master Font File
2-3. Bitmap Character Tables
______ _________ ______
Bitmap character tables are a collection of bitmap characters. They
are usually all have the same style and size. Bitmap character
tables can be made from FNT files as well as visa versa. A master
font file will usually have several of these, each corresponding to a
different size and style of character. Each character within a table
has its own name, and these may be the same in other tables. There
is a set of standard names which are used to automatically make FNT
files and these are listed in Section 22
2-4. Outline Character Tables
_______ _________ ______
Outline character tables are a collection of outline characters.
They are usually all have the same style and are normalized to a
standard size. A master font file will usually have several of
these, each corresponding to a different size and style of character.
Like bitmap character tables, each character within a table has its
own name, and these may be the same in other tables.
2-5. Macro Tables
_____ ______
Associated with each font file and tables therein may be a set of
macros. Which macros are available depends on where one is within
the data structure.
Page 4
F - A Font Editor
Section 3
_______ _
General Commands
_______ ________
These commands are available for most command nodes.
3-1. CALL <name>
____ ______
Invokes a macro. Returns to same macro depth as when called upon
termination on the macro. Note that a macro can change command
nodes. (Known bug, a prompt is not printed after the macro
terminates.)
3-2. DDT
___
Enter RAID if present. Return with <control>P(1).
3-3. DEFINE <macro name>
______ ______ _____
Begins a macro definition. Everything typed until an ENDM (end
macro) command is seen is saved under the given name. You can call
other macros within a macro, but not define other macros. Caution:
F does not detect recursive macros, which will result in PDL OV error
message.
3-4. ECHO
____
Echoes string on teletype. Used by macros to type out messages
_______________________
(1) If loaded with DDT, then use JRST 2,@.JBOPC$X
Page 5
F - A Font Editor General Commands
3-5. ENDM (End Macro)
____ ____ ______
Terminates definition on macro. An error message will result if you
are not in the process of defining a macro.
3-6. EXIT
____
Leave current command node. If at top level, then return to the
Monitor.
3-7. HELP
____
There are three levels of help which make F almost self-documenting.
They are:
? Lists commands associated with this command node.
?? or HELP Lists commands with arguments along with descriptions
??? <cmd> Detailed desription of command. Descriptions are obtained
from special version of this file. [Unimplemented]
3-8. MACLIST <macro name>
_______ ______ _____
Prints a macro definition, if a macro by that name exists.
Otherwise, an error message is printed.
3-9. QUIT
____
Return to the Monitor without writing anything else out.
Page 6
F - A Font Editor
Section 4
_______ _
Top level Commands
___ _____ ________
The top level command node is entered. It is here you decide what
master font file you wish to edit.
4-1. EDIT <file>
____ ______
Opens a master font file for editting. This must be done before you
can do anything else besides look at help message. For now, if you
don't have a master font file, you will have to make one by typing
'RUN NULFIL[XG2,TVR];<file name>'.
Page 7
F - A Font Editor
Section 5
_______ _
Second Level Commands
______ _____ ________
Here, the master font file is to be editted has been defined and you
decide what you want to do with it.
5-1. CTEDIT <name>
______ ______
CTEDIT is short for Character Table Edit (a character table is a
_ _ ____
collection of bitmap characters of specific style and size). You use
this command to select which character table you want to edit, or to
select a character table in order to edit a particular character.
See CTMAKE below make a new character table
5-2. CTLIST
______
CTLIST lists the names of the Character Tables defined for this
_ _
master font file.
5-3. CTMAKE <name>
______ ______
CTMAKE is used to create a Character Table. In order to edit or
_ _
create a particular bitmap character, you have to have a character
table to contain it and this is the command to use to make it.
5-4. FNTMODE <name> <FNT file>
_______ ______ ____ _____
FNTMODE enters a special mode for reading and writing FNT files as
well as the functions of CTEDIT mode. The FNT file is opened for
reading, so only one user can be modifying a given FNT file at a
time. FNT files are written in alter mode, so like the text editor,
E, if anyone else is referencing the file at the same time, you will
not be able to write anything on the FNT file. However, your changes
Page 8
F - A Font Editor Second Level Commands
will be preserved in the master font file, so unlike E, you will not
lose your editting.
5-5. OTEDIT <name>
______ ______
OTEDIT is short for Outline Table Edit (a outline table is a
_ _ ____
collection of (character) outlines of a specific style). You use
this command to select which outline table you want to edit, or to
select a outline table in order to edit a particular (character)
outline. See OTMAKE below make a new outline table.
5-6. OTLIST
______
OTLIST lists the names of the Outline Tables defined for this master
_ _
font file.
5-7. OTMAKE <name>
______ ______
OTMAKE is used to create a outline table. In order to edit or create
a particular character outline, you have to have a outline table to
contain it and this is the command to use to make it.
Page 9
F - A Font Editor
Section 6
_______ _
Character Table Editting
_________ _____ ________
In this mode, you have selected a particular character table for
editting. You also enter this mode in preparation to editting a
particular bitmap character.
6-1. EDIT <Character name>
____ __________ _____
Edit an existing bitmap character. Displays enlarged (and windowed
if necessary) representation of the selected character on a Datadisk
terminal and you can change parameters and where dots appear if you
wish. Use the MAKE command below to make a new bitmap character.
See Section 8 for details on editting.
6-2. LIST
____
Lists the names of any characters defined in this character table (if
nothing is printed besides the prompt, then this character table is
empty).
6-3. MAKE <Character name>
____ __________ _____
Makes a new bitmap character with the specified name. Note that it
will fail if there is already a character by that name in the
character table. The bitmap created is blanks and with zero width
and height.
6-4. OK
__
Page 10
F - A Font Editor Character Table Editting
OK means you are done editting this character table and you want to
return to the previous command node (i.e. Second level).
6-5. RENAME <old name> <new name>
______ ____ _____ ____ _____
This command allows you to change the name of a bitmap character.
The new name must not already be in use in this character table.
Page 11
F - A Font Editor
Section 7
_______ _
FNT Mode
___ ____
This mode is a special variant of character table edit mode. In
addition to those functions, you can also manipulate FNT files. Note
that you do not edit character in an FNT file directly but rather
read the character into a character table, edit it, and then write it
back onto the FNT file. This preserves the changes and also avoids
losing characters due to the FNT files being already in use.
7-1. FNTINFO <character>
_______ ___________
FNTINFO is short for FNT information. It prints the parameters for
the specified character in the selected FNT file. It prints
approximately the same information as BH's FONT program (but does not
let you modify it).
7-2. FNTLIST
_______
FNTLIST lists what characters are defined in the selected FNT file.
7-3. FNTREAD <character> <character name for this table>
_______ ___________ __________ ____ ___ ____ ______
Reads a bitmap character from the selected FNT file and makes a new
character in this character table. The character name must not
already exist.
7-4. FNTWRITE <character> <character name for this table>
________ ___________ __________ ____ ___ ____ ______
Writes the named character from this character table onto the
selected FNT file.
Page 12
F - A Font Editor FNT Mode
7-5. READALL
_______
Reads each character from the selected FNT file and a new character
in this character table with the standard character name (given in
Section ). If the character name already exists in this character
table, the corresponding character is skipped.
Page 13
F - A Font Editor
Section 8
_______ _
Bitmap Edit Mode
______ ____ ____
This mode is used to edit bitmap characters. It can handle
arbitrarily large characters by displaying them in a window. When
the cursor is moved outside this window, the window will be
automatically moved so that the cursor is on screen. When you enter
this mode on a Datadisk, you are presented with a display which looks
like:(1)
BITMAP EDIT
Cursor: 0,0
Window: -6,0
Origin: 0,29
Terminus: 25,0
Width,Height: 25,30
|
|
|
|
|
|
|⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗
|⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗ ⊗⊗⊗
| ⊗⊗⊗⊗⊗ ⊗⊗
| ⊗⊗⊗⊗⊗ ⊗⊗
| ⊗⊗⊗⊗⊗ ⊗
| ⊗⊗⊗⊗⊗ ⊗
| ⊗⊗⊗⊗⊗ ⊗
| ⊗⊗⊗⊗⊗ ⊗
| ⊗⊗⊗⊗⊗ ⊗
| ⊗⊗⊗⊗⊗ ⊗⊗
| ⊗⊗⊗⊗⊗ ⊗⊗⊗
| ⊗⊗⊗⊗⊗ ⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗ ⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗ ⊗⊗⊗
| ⊗⊗⊗⊗⊗ ⊗⊗
| ⊗⊗⊗⊗⊗ ⊗
_______________________
(1) The character is 'F' from BDR40
Page 14
F - A Font Editor Bitmap Edit Mode
| ⊗⊗⊗⊗⊗ ⊗
| ⊗⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗
| ⊗⊗⊗⊗⊗
|⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗
|⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗
------------------------------------|----------------------------
|
|
|
|
|
8-1. Moving commands
______ ________
Commands for moving the cursor are the same as used in SUDS (Stanford
University Drawing System), with small differences in some modes
(such as CLEAR and SET, where the TOP key(1) enables the actual
modification of characters.
The moving commands are:
Normal w/TOP Meaning
( [ LEFT
) [ RIGHT
/ ∂ UP
\ ∞ DOWN
The shifting keys act as scale factors on the moving commands as
follows:
2 CONTROL
4 META
16 TOP
_______________________
(1) The TOP key is like SHIFT on a typewriter. The SAIL keyboard
uses a special key for the alternative meaning for characters since
SHIFT only affects letters. There are also two other shifting keys
CONTROL and META which are like CONTROL on a TELETYPE except come in
a bits 200 and 400, respectively, making a 9 bit keyboard code.
Page 15
F - A Font Editor Bitmap Edit Mode
They may be combined, for example, CONTROL-META scales by 8.
8-2. ABORT
_____
ABORT is used to leave the bitmap editor without actually changing
the character. Because of ease of making blunders in bitmap
editting, a copy of the character is editted and replaced with
editting is complete. This command is used when you want to give up
and you don't want your changes saved. To save your changes, use the
command 'OK'.
8-3. CLEAR
_____
CLEAR puts you into a mode where moving commands with the TOP bit on
(i.e. [ ] ∂ ∞ ) clears the bit at the current cursor position and
then moves the cursor. The moving commands with the TOP bit is off
(i.e. ( ) / \ ) just move the cursor. You can switch into the
complement of this mode, i.e. MARK mode, with the altmode command.
This mode is left by any command other than a moving command.
8-4. COLUMN/ROW commands
__________ ________
_ _
COLUMN | | COPY
|--| DELETE
ROW _| |_ INSERT
These commands operate on columns and rows, addressed by current
cursor position. DELETE removes a row or column and moves the rest
of the bitmap up or to the left (respectively). COPY makes a copy of
the addressed row or column and moves the rest of the bitmap down or
to the right (respectively). INSERT inserts a blank row or column at
the cursor address my moving the rest of the bitmap down or to the
right (respectively).
Page 16
F - A Font Editor Bitmap Edit Mode
8-5. MARK
____
MARK puts you into a mode where moving commands with the TOP bit on
(i.e. [ ] ∂ ∞ ) sets the bit at the current cursor position and then
moves the cursor. The moving commands with the TOP bit is off (i.e.
( ) / \ ) just move the cursor. You can switch into the complement
of this mode, i.e. CLEAR mode, with the altmode command. This mode
is left by any command other than a moving command.
8-6. OK
__
OK leaves the bitmap editor and saves the character. A copy of the
character is editted and replaced with editting is complete, so if
you want to give up and you don't want your changes saved, use the
command 'ABORT'.
8-7. ORIGIN
______
ORIGIN put you on the origin of the bitmap, i.e. where the bitmap
actually begins, as opposed to the point (0,0). You may then shift
the entire character with respect to (0,0) by the moving commands
(i.e. ( ) / \ ). This mode is left by any non-moving command, at
which point your old cursor will be restored.
8-8. TERMINUS
________
TERMINUS put you on the terminus point of the character, i.e. where
the next character in a line of text would begin. At SAIL, this is
the logical width of a character. Like ORIGIN, you may then move the
terminal point with the moving commands (i.e. ( ) / \ ). This mode
is left by any non-moving command, at which point your old cursor
will be restored.
Page 17
F - A Font Editor Bitmap Edit Mode
8-9. WINDOW
______
Normally, the window is moved when the cursor is moved outside of it,
but the WINDOW command lets you explicitely move the window thru
which you look at the bitmap. The window is moved with the moving
commands (i.e. ( ) / \ ) at a facter of 8 pixels (or bit positions).
If the cursor is no longer within the window, then the cursor is
moved into the window. This mode is left by any non-moving command,
at which point your old cursor will be restored.
Page 18
F - A Font Editor
Section 9
_______ _
Curve Edit Mode
_____ ____ ____
This mode is used to edit the curved representation of characters.
The curves are described by a set of parameteric cubic splines, that
is curves of the function:
3 2
F(t) = A t + B t + C t + D
where F,A,B,C,D are two dimensional vectors and 0 ≤ t ≤ 1.
Operations can be done both on the individual splines and the entire
character. These operations include translation, rotation and
dilation. There are also commands for moving the defining points of
the spline and for splitting and merging splines. The commands for
modifying the individual splines are based on Bezier Curves, which
can readily be converted cubic splines. Bezier Curves have be used
successfully by the automotive industry in car body design as they
are easier for designers to use than other approaches such as a
point-slope description.
There are several ways of inputting characters. First, one can read
the polygonal representation of TVFONT which will be fit with
splines. This is probably the fastest way of inputting characters,
since TVFONT can convert TV pictures into rough outlines. Second,
one can start with a rectangle using the command MAKE or with an
existing character and reshape it into the desired characters. The
next two options are planned but not implemented: Third, you can
input and edit a list of points to which a spline is fit. Fourth,
you can define splines by explicitly setting the points defining the
corresponding Bezier Curves.
When editting a character, one particular spline is considered for
editting. This spline is marked by also displaying the lines
defining the associated Bezier Curve. The spline being considered
can be changed
Page 19
F - A Font Editor Curve Edit Mode
9-1. BITMAP
______
BITMAP does scan conversion on the spline character to generate a
bitmap character and enters the bitmap editor. The TEST command
performs the same conversion but prints the result on the terminal
instead of making a bitmap.
9-2. MOVE <delta X> <delta Y>
____ ______ __ ______ __
The MOVE command is used to move an entire character in the direction
specified in its arguments. Note that the display window is about
200 by 200, so it is not hard to move off screen.
9-3. OK
__
OK leaves the curve editor and saves the character.
9-4. PSMOOTH
_______
PSMOOTH operates on the knot (the intersection point) of two splines
to make a smooth curve. It achieves this by forcing the slope of
each spline at that point to be a compromise value which is most
easily thought of as the average slope.
9-5. REVERSE
_______
REVERSE changes the current spline from being parameterized from 0 to
1 to being parameterized from 1 to 0. Since this subtle distinction
is taken care of by all the commands listed here, this command is
really only useful for debugging and is listed here for completeness.
Note that the commands which perform scan conversion will reverse
splines as a side effect.
Page 20
F - A Font Editor Curve Edit Mode
9-6. ROTATE
______
The ROTATE command rotates the entire character with respect to (0,0)
by the amount given as an argument in degrees. It is useful for
making rotated character sets and correcting misalignment in
character read with a television camera using TVFONT.
9-7. SCALE <multiplier>
_____ ____________
SCALE enlarges or reduces the entire character by the given
multiplier. If the character is not properly centered, then you will
probably have to use the MOVE command afterwards if you are
enlarging. A negative scale factor will turn it upside-down and
backwards. A zero scale facter is ignored as it would destroy the
character.
9-8. SPLIT
_____
SPLIT breaks up the current spline into two splines at the midpoint.
This command is usually used to make a more complicated or refined
shape of character.
9-9. TEST
____
The TEST command does scan conversion on the spline character to
generate a bitmap character and prints the result on the terminal.
The BITMAP command enters the bitmap editor instead of printing the
result.
Page 21
F - A Font Editor
Appendix A
________ _
Standard Character Names
________ _________ _____
The following are the standard character names used in F. They are
in ASCII order.
NULL ALPHA BETA AND NOT EPSILON PI GAMMA DELTA INTEGRAL PLUSMINUS
CIRCLEPLUS INFINITY PARTIAL SUBSETOF CONTAINEDIN INTERSECTION UNION
FORALL THEREEXISTS CIRCLECROSS DOUBLEARROW SPACE EXCLAMATION QUOTE
POUND DOLLAR PERCENT AMPERSAND ACCENT LPAREN RPAREN 0 1 2 3 4 5 6 7 8
9 COLON SEMICOLON LESS EQUAL GREATER QUESTION ATSIGN A B C D E F G H
I J K L M N O P Q R S T U V W X Y Z LBRACKET BACKSLASH RBRACKET
UPARROW BACKARROW ACCENTGRAVE LA LB LC LD LE LF LG LH LI LJ LK LL LM
LN LO LP LQ LR LS LT LU LV LW LX LY LZ LBRACE VERTICALBAR ALTMODE
RBRACE RUBOUT
Page 22
F - A Font Editor
Appendix B
________ _
Error Messages.
_____ _________
Address check - FLREAD
_______ _____ _ ______
FLREAD called with bad arguments. Something is definitely messed up.
Address check - FLWRITE
_______ _____ _ _______
FLWRITE called with bad arguments. Something is definitely messed
up.
Bad FNT format
___ ___ ______
Pointer in header does not point to given character. Probably not an
FNT file or one that has been garbaged.
Bad MOT index - DSGET
___ ___ _____ _ _____
MOT (Master Object Table) out of bounds. Either the file is garbaged
or there is a bug in this program.
Bad X1 arg. to DDINIT
___ __ ____ __ ______
Initial X is not a multiple of 8 (due to hardware) or not within
coordinate range
Bad Xn arg. to DDINIT
___ __ ____ __ ______
Terminal X is not within coordinate range or doesn't fall on word
boundary
Bad YN arg. to DDINIT
___ __ ____ __ ______
Terminal Y is off bottom of screen.
Bad call to DDGET
___ ____ __ _____
Argument has X or Y arguments out of order (i.e. min>max).
Bad index in command table
___ _____ __ _______ _____
Undefined special command attempted. Probably some kind of bug, but
probably can be continued from.
Can't INIT DSK!
_____ ____ ____
Either you have something usual ASSIGNed to be DSK or the system is
very confused.
Can't LOOKUP the file just written!
_____ ______ ___ ____ ____ ________
Your FNT file has been recopied to make space for the new character,
but then it could not be opened to put in that character!
Page 23
F - A Font Editor Error Messages.
Can't find BEZIER.DAT
_____ ____ __________
This command expects a LISP list of Bezier points in a file called
BEZIER.DAT of the current default directory
Can't open FNT device again
_____ ____ ___ ______ _____
Attempt to do a second OPEN on the device for FNT file to do recopy
has failed. This shouldn't ordinarily happen
Can't open device to read TVFONT file
_____ ____ ______ __ ____ ______ ____
OPEN failed for device in trying to read a TVFONT file (.CRU file).
Probably misspelled or non-existent device.
Can't open device
_____ ____ ______
Can't open device for FNT file. Probably something very wrong if
device is DSK. Otherwise, it is most likely that the device is
unavailable
Can't open device
_____ ____ ______
Can't open device for data structure manipulation. Probably
something very wrong if device is DSK. Otherwise, it is most likely
that the device is unavailable
Can't open file for writing
_____ ____ ____ ___ _______
Can't open file for writing
_____ ____ ____ ___ _______
Can't open file for FNT file. Probably either the file is being read
by someone else right now, the file is protected.
Can't open file
_____ ____ ____
Can't open file for FNT file. Probably either the file doesn't exist
at all, the file is protected, or it is already in the process of
being altered.
Can't open file
_____ ____ ____
Can't open file for data structure manipulation. Probably either the
file doesn't exist at all, the file is protected, or it is already in
the process of being altered.
Can't recopy FNT file, ENTER failed
_____ ______ ___ _____ _____ ______
Can't open new copy of FNT file. This usually means the file is
protected against your meddling or someone else is already in the
process of modifying it.
Curve list for this character is probably broken
_____ ____ ___ ____ _________ __ ________ ______
There seem to be more than 25 curves in this character. This usually
means the character has one of its curve pointers looped or pointing
into randomness.
Page 24
F - A Font Editor Error Messages.
DRYROT - DSWRITE
______ _ _______
"Can't happen!"
DSWRITE - Empty structure!
_______ _ _____ __________
In writing out the data structure, a structure with nothing in it was
found. This is a bug.
Degenerate spline - DDSPLN
__________ ______ _ ______
This spline you have here crosses itself or stays in the same place
Disgusting spline - DDSPLN
__________ ______ _ ______
This spline does not converge for the Datadisk plotting algorithm.
Could be problem with the algorithm or the spline.
Disgusting spline - SCNCVT
__________ ______ _ ______
This spline does not converge for scan conversion algorithm. Could
be problem with the algorithm or the spline.
Display buffer overflow
_______ ______ ________
Not enough space was allocated by this program for putting up the
text display. Display will be truncated.
Duplicate entry in command table
_________ _____ __ _______ _____
One of the command tables is wrong, meaning a problem in the source
code. You may continute safely.
Error in file - Bad MOT entry
_____ __ ____ _ ___ ___ _____
File has bad format in its MOT (Master Object Table), which is
probably either an incompletely updated file or a bug in this
program.
File format error - Bad MOT count
____ ______ _____ _ ___ ___ _____
Size of MOT (Master Object Table) is not even. Probably either a
gabaged file, or one not of the right type.
Free storage request too big
____ _______ _______ ___ ___
Free storage blocks are limited to a maximum of 37777 words in this
implimentation of free storage system. This error will also occur if
a negative size is requested.
I/O channel table confused
___ _______ _____ ________
The table indicating what channels are in use disagrees with that of
the system. Probably a RESET or FINISH has been done. Another
channel will be tried.
Illegal call to WRCHRN
_______ ____ __ ______
Character code was > 777 (ASCII+CONTROL+META)
Page 25
F - A Font Editor Error Messages.
Illegal character code for FNT format
_______ _________ ____ ___ ___ ______
Character code for font file must be between 0 and 177 (octal).
Input channel underflow - TYI
_____ _______ _________ _ ___
TYI (teletype input) got an end of file and there was no other input
channel to read from
JOBFF lower than top of free storage. Data structures may be
_____ _____ ____ ___ __ ____ ________ ____ __________ ___ __
garbaged
________
Someone unexpectedly moved the pointer the system uses to make I/O
buffers into the middle of the free storage area. If some file was
opened after that, it may have overwritten some of the data
structure. This is most certainly a bug and you may proceed at your
own risk.
Last command left stack inconsistent
____ _______ ____ _____ ____________
The last routine did not leave the stack as it found it, which is
bug. The stack will be fixed and you may continue.
Looped or degenerate spline ring - SCNCVT
______ __ __________ ______ ____ _ ______
Too many flat splines were seen in succession. It is therefore
assumed that the list structure has been clobbered or there is
something wrong with this program
Mark bits invalid - DSRELOC
____ ____ _______ _ _______
Program was restarted in the middle of operation involving mark bits
and the mark bits may be inconsistant. Code to clear all mark bits
has not been written yet.
Mark bits invalid - DSWRITE
____ ____ _______ _ _______
Program was restarted in the middle of operation involving mark bits
and the mark bits may be inconsistant. Code to clear all mark bits
has not been written yet.
No I/O channels left.
__ ___ ________ _____
You probably have too many files open. Close one and try again.
No core left, will retry
__ ____ _____ ____ _____
There was no large enough block in free storage list and attempt to
get more core failed. The fact that you have run out of core may be
indicative of some problem with this program or what you are asking
it to do.
No macro being defined
__ _____ _____ _______
You have attempted to terminate a macro definition when none is being
defined.
READ ERROR
____ _____
Page 26
F - A Font Editor Error Messages.
READ ERROR
____ _____
This shouldn't ever happen. There must be something wrong with the
device you're reading. If it's DSK:, get help!
Read error - FLREAD
____ _____ _ ______
IN UUO took a failure routine. Shouldn't happen, probably either
system or hardware problem.
Read error after USETI in FNT file
____ _____ _____ _____ __ ___ ____
Error reading FNT file. This should not happen, perhaps there is
something wrong with the FNT file.
Read error for index of recopied FNT file!
____ _____ ___ _____ __ ________ ___ _____
Read operation failed at the beginning of the FNT file. This
shouldn't ever happen, get a wizard to help you.
Read error in FNT file
____ _____ __ ___ ____
Error reading FNT file. This should not happen, perhaps there is
something wrong with the FNT file.
Read error on FNT file header
____ _____ __ ___ ____ ______
System returned in error while reading font file. This could mean
the file is messed up or that it's too short (i.e. isn't a font
file).
Real number too big or small
____ ______ ___ ___ __ _____
The absolute value of the exponent for a PDP-10 single precision
floating point number must be less than or equal to 37.
Symbol table overflow
______ _____ ________
Hash table overflow has occured. Most likely it was a character
table, an outline table or a macro table. This program should either
have those constants increased or a rehashing function be
implemented.
TVFONT file not found
______ ____ ___ _____
LOOKUP failed while trying to read TVFONT file. Probably misspelled,
non-existent or protected file.
Terminal Y set to zero for FNT file
________ _ ___ __ ____ ___ ___ ____
FNT format character always end on the same scan line as they start.
The character being written does not end on the same scan line as it
starts. This will be ignored.
Two splines share with the same beginning and end - SCNCVT
___ _______ _____ ____ ___ ____ _________ ___ ___ _ ______
the scan conversion routine doesn't like to find two curves with the
same beginning and terminating endpoints as it doesn't know what
order to take them in.
Page 27
F - A Font Editor Error Messages.
UNTYI called twice before TYI
_____ ______ _____ ______ ___
Some sort of bug in scanning. You may continue.
Undefined type - DSTYPE
_________ ____ _ ______
Type not found in Master Object Table of file given to DSREAD.
Either the file is messed up or you are running a version of this
program which is older than the file format (shouldn't happen).
Unexpected EOF - FLREAD
__________ ___ _ ______
FLREAD should never get EOF (end of file). It's either a bug or an
inconsistant file.
Unexpected EOF in TVFONT file
__________ ___ __ ______ ____
File probably is not in the correct format
Write error - FLWRITE
_____ _____ _ _______
OUT UUO took a failure routine. Shouldn't happen, probably either
system or hardware problem.
Write error on FNT file
_____ _____ __ ___ ____
Error writing FNT file. This should not ever happen; you should
consult a wizard.
X out of order - SNTOBM
_ ___ __ _____ _ ______
Bug in scan conversion. Probably two joined splines did not stop on
the same scan line.
X out of order - TSTSCN
_ ___ __ _____ _ ______
Bug in scan conversion. Probably two joined splines did not stop on
the same scan line.
sin(angle(V1,V2))↑2 ≥ 1.0
___________________ _ ___
Page 28
F - A Font Editor
I N D E X
(References are to page numbers)
? 6 LIST 10
?? 6
??? 6 MACLIST 6
Macro 2, 4
ABORT 16 MAKE 10
MARK 17
BITMAP 20 Master font file 3, 7
Bitmap character 3 MOVE 20
Bitmap character table 4 Moving commands 15
CALL 5 OK 10, 17, 20
Character table 8 ORIGIN 17
CLEAR 16 OTEDIT 9
COLUMN 16 OTLIST 9
Command 1 OTMAKE 9
COPY 16 Outline character 3
CTEDIT 8 Outline character table 4
CTLIST 8 Outline table 9
CTMAKE 8
PSMOOTH 20
Data structure 1
DDT 5 QUIT 6
DEFINE 5
DELETE 16 READALL 13
RENAME 11
ECHO 5 REVERSE 20
EDFONT 2 ROTATE 21
EDIT 7, 10 ROW 16
ENDM 6
EXIT 6 SCALE 21
SPLIT 21
FNT file 8
FNTINFO 12 TERMINUS 17
FNTLIST 12 TEST 21
FNTMODE 8 TVFONT 2
FNTREAD 12
FNTWRITE 12 WINDOW 18
FONT 2
HELP 6
INSERT 16
Page 29